/*
 * Copyright (c) 2007-2020 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.edu.core.filter;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.github.lvyanyang.core.BaseFilter;
import com.github.lvyanyang.core.BasePageFilter;
import com.github.lvyanyang.core.Const;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * 培训计划过滤对象
 * @author 张谦 zhangqian@xci96716.com
 * @since 2020-11-25 09:35:56"
 */
@Builder
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "培训计划过滤对象")
public class EduPlanFilter extends BasePageFilter {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", position = 1)
    private Long id;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", position = 2)
    private String name;

    /**
     * 名称简拼
     */
    @ApiModelProperty(value = "名称简拼", position = 3)
    private String spell;

    /**
     * 科目主键
     */
    @ApiModelProperty(value = "科目主键", position = 4)
    private Long eduCategoryId;

    /**
     * 科目名称
     */
    @ApiModelProperty(value = "科目名称", position = 5)
    private String eduCategoryName;

    /**
     * 培训讲师
     */
    @ApiModelProperty(value = "培训讲师", position = 6)
    private String teacher;

    /**
     * 培训开始日期
     */
    @ApiModelProperty(value = "培训开始日期", position = 7)
    private Date trainStartDate;

    /**
     * 培训结束日期
     */
    @ApiModelProperty(value = "培训结束日期", position = 8)
    private Date trainEndDate;

    /**
     * 计划人数
     */
    @ApiModelProperty(value = "计划人数", position = 9)
    private Integer planCount;

    /**
     * 已约人数
     */
    @ApiModelProperty(value = "已约人数", position = 10)
    private Integer useCount;

    /**
     * 状态[1-启用, 0-禁用]
     */
    @ApiModelProperty(value = "状态[1-启用, 0-禁用]", position = 11)
    private Integer status;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", position = 12)
    private String remark;

    /**
     * 操作人主键
     */
    @ApiModelProperty(value = "操作人主键", position = 13)
    private Long operateUserId;

    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人", position = 14)
    private String operateUserName;

    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间", position = 15)
    private Date operateDateTime;

}